<!-- HTML header for doxygen 1.8.6-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="text/xhtml;charset=utf-8" http-equiv="Content-Type"/>
<meta content="IE=9" http-equiv="X-UA-Compatible"/>
<meta content="Doxygen 1.8.13" name="generator"/>
<title>OpenCV: cv::CascadeClassifier Class Reference</title>
<link href="../../opencv.ico" rel="shortcut icon" type="image/x-icon"/>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script src="../../jquery.js" type="text/javascript"></script>
<script src="../../dynsections.js" type="text/javascript"></script>
<script src="../../tutorial-utils.js" type="text/javascript"></script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script src="../../search/searchdata.js" type="text/javascript"></script>
<script src="../../search/search.js" type="text/javascript"></script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
//<![CDATA[
MathJax.Hub.Config(
{
  TeX: {
      Macros: {
          matTT: [ "\\[ \\left|\\begin{array}{ccc} #1 & #2 & #3\\\\ #4 & #5 & #6\\\\ #7 & #8 & #9 \\end{array}\\right| \\]", 9],
          fork: ["\\left\\{ \\begin{array}{l l} #1 & \\mbox{#2}\\\\ #3 & \\mbox{#4}\\\\ \\end{array} \\right.", 4],
          forkthree: ["\\left\\{ \\begin{array}{l l} #1 & \\mbox{#2}\\\\ #3 & \\mbox{#4}\\\\ #5 & \\mbox{#6}\\\\ \\end{array} \\right.", 6],
          forkfour: ["\\left\\{ \\begin{array}{l l} #1 & \\mbox{#2}\\\\ #3 & \\mbox{#4}\\\\ #5 & \\mbox{#6}\\\\ #7 & \\mbox{#8}\\\\ \\end{array} \\right.", 8],
          vecthree: ["\\begin{bmatrix} #1\\\\ #2\\\\ #3 \\end{bmatrix}", 3],
          vecthreethree: ["\\begin{bmatrix} #1 & #2 & #3\\\\ #4 & #5 & #6\\\\ #7 & #8 & #9 \\end{bmatrix}", 9],
          cameramatrix: ["#1 = \\begin{bmatrix} f_x & 0 & c_x\\\\ 0 & f_y & c_y\\\\ 0 & 0 & 1 \\end{bmatrix}", 1],
          distcoeffs: ["(k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6 [, s_1, s_2, s_3, s_4[, \\tau_x, \\tau_y]]]]) \\text{ of 4, 5, 8, 12 or 14 elements}"],
          distcoeffsfisheye: ["(k_1, k_2, k_3, k_4)"],
          hdotsfor: ["\\dots", 1],
          mathbbm: ["\\mathbb{#1}", 1],
          bordermatrix: ["\\matrix{#1}", 1]
      }
  }
}
);
//]]>
</script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js" type="text/javascript"></script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css"/>
<link href="../../stylesheet.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<!--#include virtual="/google-search.html"-->
<table cellpadding="0" cellspacing="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="../../opencv-logo-small.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">OpenCV
    <span id="projectnumber">4.5.2</span>
   </div>
   <div id="projectbrief">Open Source Computer Vision</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<script src="../../menudata.js" type="text/javascript"></script>
<script src="../../menu.js" type="text/javascript"></script>
<script type="text/javascript">
$(function() {
  initMenu('../../',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow" onkeydown="return searchBox.OnSearchSelectKey(event)" onmouseout="return searchBox.OnSearchSelectHide()" onmouseover="return searchBox.OnSearchSelectShow()">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe frameborder="0" id="MSearchResults" name="MSearchResults" src="javascript:void(0)">
</iframe>
</div>
<div class="navpath" id="nav-path">
  <ul>
<li class="navelem"><a class="el" href="../../d2/d75/namespacecv.html">cv</a></li><li class="navelem"><a class="el" href="../../d1/de5/classcv_1_1CascadeClassifier.html">CascadeClassifier</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> |
<a href="#pub-static-methods">Static Public Member Functions</a> |
<a href="#pub-attribs">Public Attributes</a> |
<a href="../../d3/da1/classcv_1_1CascadeClassifier-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">cv::CascadeClassifier Class Reference<div class="ingroups"><a class="el" href="../../d5/d54/group__objdetect.html">Object Detection</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<p>Cascade classifier class for object detection.  
 <a href="../../d1/de5/classcv_1_1CascadeClassifier.html#details">More...</a></p>
<p><code>#include &lt;opencv2/objdetect.hpp&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ab3e572643114c43b21074df48c565a27"><td align="right" class="memItemLeft" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/de5/classcv_1_1CascadeClassifier.html#ab3e572643114c43b21074df48c565a27">CascadeClassifier</a> ()</td></tr>
<tr class="separator:ab3e572643114c43b21074df48c565a27"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a6d01a748b103f0cd6bd2a20037ae8731"><td align="right" class="memItemLeft" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/de5/classcv_1_1CascadeClassifier.html#a6d01a748b103f0cd6bd2a20037ae8731">CascadeClassifier</a> (const <a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a> &amp;filename)</td></tr>
<tr class="memdesc:a6d01a748b103f0cd6bd2a20037ae8731"><td class="mdescLeft"> </td><td class="mdescRight">Loads a classifier from a file.  <a href="#a6d01a748b103f0cd6bd2a20037ae8731">More...</a><br/></td></tr>
<tr class="separator:a6d01a748b103f0cd6bd2a20037ae8731"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a05833947148e7357aad2547321645268"><td align="right" class="memItemLeft" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/de5/classcv_1_1CascadeClassifier.html#a05833947148e7357aad2547321645268">~CascadeClassifier</a> ()</td></tr>
<tr class="separator:a05833947148e7357aad2547321645268"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aaf8181cb63968136476ec4204ffca498"><td align="right" class="memItemLeft" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/de5/classcv_1_1CascadeClassifier.html#aaf8181cb63968136476ec4204ffca498">detectMultiScale</a> (<a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> image, std::vector&lt; <a class="el" href="../../dc/d84/group__core__basic.html#ga11d95de507098e90bad732b9345402e8">Rect</a> &gt; &amp;objects, double scaleFactor=1.1, int minNeighbors=3, int flags=0, <a class="el" href="../../dc/d84/group__core__basic.html#ga346f563897249351a34549137c8532a0">Size</a> minSize=<a class="el" href="../../dc/d84/group__core__basic.html#ga346f563897249351a34549137c8532a0">Size</a>(), <a class="el" href="../../dc/d84/group__core__basic.html#ga346f563897249351a34549137c8532a0">Size</a> maxSize=<a class="el" href="../../dc/d84/group__core__basic.html#ga346f563897249351a34549137c8532a0">Size</a>())</td></tr>
<tr class="memdesc:aaf8181cb63968136476ec4204ffca498"><td class="mdescLeft"> </td><td class="mdescRight">Detects objects of different sizes in the input image. The detected objects are returned as a list of rectangles.  <a href="#aaf8181cb63968136476ec4204ffca498">More...</a><br/></td></tr>
<tr class="separator:aaf8181cb63968136476ec4204ffca498"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a90fe1b7778bed4a27aa8482e1eecc116"><td align="right" class="memItemLeft" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/de5/classcv_1_1CascadeClassifier.html#a90fe1b7778bed4a27aa8482e1eecc116">detectMultiScale</a> (<a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> image, std::vector&lt; <a class="el" href="../../dc/d84/group__core__basic.html#ga11d95de507098e90bad732b9345402e8">Rect</a> &gt; &amp;objects, std::vector&lt; int &gt; &amp;numDetections, double scaleFactor=1.1, int minNeighbors=3, int flags=0, <a class="el" href="../../dc/d84/group__core__basic.html#ga346f563897249351a34549137c8532a0">Size</a> minSize=<a class="el" href="../../dc/d84/group__core__basic.html#ga346f563897249351a34549137c8532a0">Size</a>(), <a class="el" href="../../dc/d84/group__core__basic.html#ga346f563897249351a34549137c8532a0">Size</a> maxSize=<a class="el" href="../../dc/d84/group__core__basic.html#ga346f563897249351a34549137c8532a0">Size</a>())</td></tr>
<tr class="separator:a90fe1b7778bed4a27aa8482e1eecc116"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:accf96d130d9f3cf4c58bf445b7861c19"><td align="right" class="memItemLeft" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/de5/classcv_1_1CascadeClassifier.html#accf96d130d9f3cf4c58bf445b7861c19">detectMultiScale</a> (<a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> image, std::vector&lt; <a class="el" href="../../dc/d84/group__core__basic.html#ga11d95de507098e90bad732b9345402e8">Rect</a> &gt; &amp;objects, std::vector&lt; int &gt; &amp;rejectLevels, std::vector&lt; double &gt; &amp;levelWeights, double scaleFactor=1.1, int minNeighbors=3, int flags=0, <a class="el" href="../../dc/d84/group__core__basic.html#ga346f563897249351a34549137c8532a0">Size</a> minSize=<a class="el" href="../../dc/d84/group__core__basic.html#ga346f563897249351a34549137c8532a0">Size</a>(), <a class="el" href="../../dc/d84/group__core__basic.html#ga346f563897249351a34549137c8532a0">Size</a> maxSize=<a class="el" href="../../dc/d84/group__core__basic.html#ga346f563897249351a34549137c8532a0">Size</a>(), bool outputRejectLevels=false)</td></tr>
<tr class="separator:accf96d130d9f3cf4c58bf445b7861c19"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a1753ebe58554fe0673ce46cb4e83f08a"><td align="right" class="memItemLeft" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/de5/classcv_1_1CascadeClassifier.html#a1753ebe58554fe0673ce46cb4e83f08a">empty</a> () const</td></tr>
<tr class="memdesc:a1753ebe58554fe0673ce46cb4e83f08a"><td class="mdescLeft"> </td><td class="mdescRight">Checks whether the classifier has been loaded.  <a href="#a1753ebe58554fe0673ce46cb4e83f08a">More...</a><br/></td></tr>
<tr class="separator:a1753ebe58554fe0673ce46cb4e83f08a"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a0bab6de516c685ba879a4b1f1debdef1"><td align="right" class="memItemLeft" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/de5/classcv_1_1CascadeClassifier.html#a0bab6de516c685ba879a4b1f1debdef1">getFeatureType</a> () const</td></tr>
<tr class="separator:a0bab6de516c685ba879a4b1f1debdef1"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ac39ae98f8358d3ffc14d7477a7bdb116"><td align="right" class="memItemLeft" valign="top"><a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt; <a class="el" href="../../d6/dfb/classcv_1_1BaseCascadeClassifier_1_1MaskGenerator.html">BaseCascadeClassifier::MaskGenerator</a> &gt; </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/de5/classcv_1_1CascadeClassifier.html#ac39ae98f8358d3ffc14d7477a7bdb116">getMaskGenerator</a> ()</td></tr>
<tr class="separator:ac39ae98f8358d3ffc14d7477a7bdb116"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ac7cccf61596e217726c5da99da3a69bf"><td align="right" class="memItemLeft" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/de5/classcv_1_1CascadeClassifier.html#ac7cccf61596e217726c5da99da3a69bf">getOldCascade</a> ()</td></tr>
<tr class="separator:ac7cccf61596e217726c5da99da3a69bf"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a7a131d319ab42a444ff2bcbb433b7b41"><td align="right" class="memItemLeft" valign="top"><a class="el" href="../../dc/d84/group__core__basic.html#ga346f563897249351a34549137c8532a0">Size</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/de5/classcv_1_1CascadeClassifier.html#a7a131d319ab42a444ff2bcbb433b7b41">getOriginalWindowSize</a> () const</td></tr>
<tr class="separator:a7a131d319ab42a444ff2bcbb433b7b41"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a556bdd8738ba96aac07628ec38ff46da"><td align="right" class="memItemLeft" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/de5/classcv_1_1CascadeClassifier.html#a556bdd8738ba96aac07628ec38ff46da">isOldFormatCascade</a> () const</td></tr>
<tr class="separator:a556bdd8738ba96aac07628ec38ff46da"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a1a5884c8cc749422f9eb77c2471958bc"><td align="right" class="memItemLeft" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/de5/classcv_1_1CascadeClassifier.html#a1a5884c8cc749422f9eb77c2471958bc">load</a> (const <a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a> &amp;filename)</td></tr>
<tr class="memdesc:a1a5884c8cc749422f9eb77c2471958bc"><td class="mdescLeft"> </td><td class="mdescRight">Loads a classifier from a file.  <a href="#a1a5884c8cc749422f9eb77c2471958bc">More...</a><br/></td></tr>
<tr class="separator:a1a5884c8cc749422f9eb77c2471958bc"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a6e3f096b121259fd3bab1c2437e840c5"><td align="right" class="memItemLeft" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/de5/classcv_1_1CascadeClassifier.html#a6e3f096b121259fd3bab1c2437e840c5">read</a> (const <a class="el" href="../../de/dd9/classcv_1_1FileNode.html">FileNode</a> &amp;node)</td></tr>
<tr class="memdesc:a6e3f096b121259fd3bab1c2437e840c5"><td class="mdescLeft"> </td><td class="mdescRight">Reads a classifier from a <a class="el" href="../../da/d56/classcv_1_1FileStorage.html" title="XML/YAML/JSON file storage class that encapsulates all the information necessary for writing or readi...">FileStorage</a> node.  <a href="#a6e3f096b121259fd3bab1c2437e840c5">More...</a><br/></td></tr>
<tr class="separator:a6e3f096b121259fd3bab1c2437e840c5"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a7628a59eefb561ecd79ad9d02bd69073"><td align="right" class="memItemLeft" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/de5/classcv_1_1CascadeClassifier.html#a7628a59eefb561ecd79ad9d02bd69073">setMaskGenerator</a> (const <a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt; <a class="el" href="../../d6/dfb/classcv_1_1BaseCascadeClassifier_1_1MaskGenerator.html">BaseCascadeClassifier::MaskGenerator</a> &gt; &amp;maskGenerator)</td></tr>
<tr class="separator:a7628a59eefb561ecd79ad9d02bd69073"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a6bdc0b45d2a340a7a1dd8d6f9bce4bda"><td align="right" class="memItemLeft" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/de5/classcv_1_1CascadeClassifier.html#a6bdc0b45d2a340a7a1dd8d6f9bce4bda">convert</a> (const <a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a> &amp;oldcascade, const <a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a> &amp;newcascade)</td></tr>
<tr class="separator:a6bdc0b45d2a340a7a1dd8d6f9bce4bda"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a028c1d86a8275c82b089510768f853bd"><td align="right" class="memItemLeft" valign="top"><a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt; <a class="el" href="../../da/dd5/classcv_1_1BaseCascadeClassifier.html">BaseCascadeClassifier</a> &gt; </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/de5/classcv_1_1CascadeClassifier.html#a028c1d86a8275c82b089510768f853bd">cc</a></td></tr>
<tr class="separator:a028c1d86a8275c82b089510768f853bd"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<a id="details" name="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Cascade classifier class for object detection. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="../../d4/d26/samples_2cpp_2facedetect_8cpp-example.html#_a2">samples/cpp/facedetect.cpp</a>.</dd>
</dl></div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="ab3e572643114c43b21074df48c565a27"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab3e572643114c43b21074df48c565a27">◆ </a></span>CascadeClassifier() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">cv::CascadeClassifier::CascadeClassifier </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>&lt;CascadeClassifier object&gt;</td><td>=</td><td>cv.CascadeClassifier(</td><td class="paramname"></td><td>)</td></tr><tr><td style="width: 20px;"></td><td>&lt;CascadeClassifier object&gt;</td><td>=</td><td>cv.CascadeClassifier(</td><td class="paramname">filename</td><td>)</td></tr></table>
</div><div class="memdoc">
</div>
</div>
<a id="a6d01a748b103f0cd6bd2a20037ae8731"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6d01a748b103f0cd6bd2a20037ae8731">◆ </a></span>CascadeClassifier() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">cv::CascadeClassifier::CascadeClassifier </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a> &amp; </td>
          <td class="paramname"><em>filename</em></td><td>)</td>
          <td></td>
        </tr>
      </table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>&lt;CascadeClassifier object&gt;</td><td>=</td><td>cv.CascadeClassifier(</td><td class="paramname"></td><td>)</td></tr><tr><td style="width: 20px;"></td><td>&lt;CascadeClassifier object&gt;</td><td>=</td><td>cv.CascadeClassifier(</td><td class="paramname">filename</td><td>)</td></tr></table>
</div><div class="memdoc">
<p>Loads a classifier from a file. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">filename</td><td>Name of the file from which the classifier is loaded. </td></tr>
  </table>
  </dd>
</dl>
</div>
</div>
<a id="a05833947148e7357aad2547321645268"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a05833947148e7357aad2547321645268">◆ </a></span>~CascadeClassifier()</h2>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">cv::CascadeClassifier::~CascadeClassifier </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a6bdc0b45d2a340a7a1dd8d6f9bce4bda"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6bdc0b45d2a340a7a1dd8d6f9bce4bda">◆ </a></span>convert()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static bool cv::CascadeClassifier::convert </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a> &amp; </td>
          <td class="paramname"><em>oldcascade</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a> &amp; </td>
          <td class="paramname"><em>newcascade</em> </td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>retval</td><td>=</td><td>cv.CascadeClassifier_convert(</td><td class="paramname">oldcascade, newcascade</td><td>)</td></tr></table>
</div><div class="memdoc">
</div>
</div>
<a id="aaf8181cb63968136476ec4204ffca498"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaf8181cb63968136476ec4204ffca498">◆ </a></span>detectMultiScale() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void cv::CascadeClassifier::detectMultiScale </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> </td>
          <td class="paramname"><em>image</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; <a class="el" href="../../dc/d84/group__core__basic.html#ga11d95de507098e90bad732b9345402e8">Rect</a> &gt; &amp; </td>
          <td class="paramname"><em>objects</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double </td>
          <td class="paramname"><em>scaleFactor</em> = <code>1.1</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int </td>
          <td class="paramname"><em>minNeighbors</em> = <code>3</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int </td>
          <td class="paramname"><em>flags</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga346f563897249351a34549137c8532a0">Size</a> </td>
          <td class="paramname"><em>minSize</em> = <code><a class="el" href="../../dc/d84/group__core__basic.html#ga346f563897249351a34549137c8532a0">Size</a>()</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga346f563897249351a34549137c8532a0">Size</a> </td>
          <td class="paramname"><em>maxSize</em> = <code><a class="el" href="../../dc/d84/group__core__basic.html#ga346f563897249351a34549137c8532a0">Size</a>()</code> </td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>objects</td><td>=</td><td>cv.CascadeClassifier.detectMultiScale(</td><td class="paramname">image[, scaleFactor[, minNeighbors[, flags[, minSize[, maxSize]]]]]</td><td>)</td></tr><tr><td style="width: 20px;"></td><td>objects, numDetections</td><td>=</td><td>cv.CascadeClassifier.detectMultiScale2(</td><td class="paramname">image[, scaleFactor[, minNeighbors[, flags[, minSize[, maxSize]]]]]</td><td>)</td></tr><tr><td style="width: 20px;"></td><td>objects, rejectLevels, levelWeights</td><td>=</td><td>cv.CascadeClassifier.detectMultiScale3(</td><td class="paramname">image[, scaleFactor[, minNeighbors[, flags[, minSize[, maxSize[, outputRejectLevels]]]]]]</td><td>)</td></tr></table>
</div><div class="memdoc">
<p>Detects objects of different sizes in the input image. The detected objects are returned as a list of rectangles. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">image</td><td>Matrix of the type CV_8U containing an image where objects are detected. </td></tr>
    <tr><td class="paramname">objects</td><td>Vector of rectangles where each rectangle contains the detected object, the rectangles may be partially outside the original image. </td></tr>
    <tr><td class="paramname">scaleFactor</td><td>Parameter specifying how much the image size is reduced at each image scale. </td></tr>
    <tr><td class="paramname">minNeighbors</td><td>Parameter specifying how many neighbors each candidate rectangle should have to retain it. </td></tr>
    <tr><td class="paramname">flags</td><td>Parameter with the same meaning for an old cascade as in the function cvHaarDetectObjects. It is not used for a new cascade. </td></tr>
    <tr><td class="paramname">minSize</td><td>Minimum possible object size. Objects smaller than that are ignored. </td></tr>
    <tr><td class="paramname">maxSize</td><td>Maximum possible object size. Objects larger than that are ignored. If <code>maxSize == minSize</code> model is evaluated on single scale.</td></tr>
  </table>
  </dd>
</dl>
<p>The function is parallelized with the TBB library.</p>
<dl class="section note"><dt>Note</dt><dd><ul>
<li>(Python) A face detection example using cascade classifiers can be found at opencv_source_code/samples/python/facedetect.py </li>
</ul>
</dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="../../d4/d26/samples_2cpp_2facedetect_8cpp-example.html#a29">samples/cpp/facedetect.cpp</a>.</dd>
</dl>
</div>
</div>
<a id="a90fe1b7778bed4a27aa8482e1eecc116"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a90fe1b7778bed4a27aa8482e1eecc116">◆ </a></span>detectMultiScale() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void cv::CascadeClassifier::detectMultiScale </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> </td>
          <td class="paramname"><em>image</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; <a class="el" href="../../dc/d84/group__core__basic.html#ga11d95de507098e90bad732b9345402e8">Rect</a> &gt; &amp; </td>
          <td class="paramname"><em>objects</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; int &gt; &amp; </td>
          <td class="paramname"><em>numDetections</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double </td>
          <td class="paramname"><em>scaleFactor</em> = <code>1.1</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int </td>
          <td class="paramname"><em>minNeighbors</em> = <code>3</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int </td>
          <td class="paramname"><em>flags</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga346f563897249351a34549137c8532a0">Size</a> </td>
          <td class="paramname"><em>minSize</em> = <code><a class="el" href="../../dc/d84/group__core__basic.html#ga346f563897249351a34549137c8532a0">Size</a>()</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga346f563897249351a34549137c8532a0">Size</a> </td>
          <td class="paramname"><em>maxSize</em> = <code><a class="el" href="../../dc/d84/group__core__basic.html#ga346f563897249351a34549137c8532a0">Size</a>()</code> </td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>objects</td><td>=</td><td>cv.CascadeClassifier.detectMultiScale(</td><td class="paramname">image[, scaleFactor[, minNeighbors[, flags[, minSize[, maxSize]]]]]</td><td>)</td></tr><tr><td style="width: 20px;"></td><td>objects, numDetections</td><td>=</td><td>cv.CascadeClassifier.detectMultiScale2(</td><td class="paramname">image[, scaleFactor[, minNeighbors[, flags[, minSize[, maxSize]]]]]</td><td>)</td></tr><tr><td style="width: 20px;"></td><td>objects, rejectLevels, levelWeights</td><td>=</td><td>cv.CascadeClassifier.detectMultiScale3(</td><td class="paramname">image[, scaleFactor[, minNeighbors[, flags[, minSize[, maxSize[, outputRejectLevels]]]]]]</td><td>)</td></tr></table>
</div><div class="memdoc">
<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">image</td><td>Matrix of the type CV_8U containing an image where objects are detected. </td></tr>
    <tr><td class="paramname">objects</td><td>Vector of rectangles where each rectangle contains the detected object, the rectangles may be partially outside the original image. </td></tr>
    <tr><td class="paramname">numDetections</td><td>Vector of detection numbers for the corresponding objects. An object's number of detections is the number of neighboring positively classified rectangles that were joined together to form the object. </td></tr>
    <tr><td class="paramname">scaleFactor</td><td>Parameter specifying how much the image size is reduced at each image scale. </td></tr>
    <tr><td class="paramname">minNeighbors</td><td>Parameter specifying how many neighbors each candidate rectangle should have to retain it. </td></tr>
    <tr><td class="paramname">flags</td><td>Parameter with the same meaning for an old cascade as in the function cvHaarDetectObjects. It is not used for a new cascade. </td></tr>
    <tr><td class="paramname">minSize</td><td>Minimum possible object size. Objects smaller than that are ignored. </td></tr>
    <tr><td class="paramname">maxSize</td><td>Maximum possible object size. Objects larger than that are ignored. If <code>maxSize == minSize</code> model is evaluated on single scale. </td></tr>
  </table>
  </dd>
</dl>
</div>
</div>
<a id="accf96d130d9f3cf4c58bf445b7861c19"></a>
<h2 class="memtitle"><span class="permalink"><a href="#accf96d130d9f3cf4c58bf445b7861c19">◆ </a></span>detectMultiScale() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void cv::CascadeClassifier::detectMultiScale </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> </td>
          <td class="paramname"><em>image</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; <a class="el" href="../../dc/d84/group__core__basic.html#ga11d95de507098e90bad732b9345402e8">Rect</a> &gt; &amp; </td>
          <td class="paramname"><em>objects</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; int &gt; &amp; </td>
          <td class="paramname"><em>rejectLevels</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; double &gt; &amp; </td>
          <td class="paramname"><em>levelWeights</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double </td>
          <td class="paramname"><em>scaleFactor</em> = <code>1.1</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int </td>
          <td class="paramname"><em>minNeighbors</em> = <code>3</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int </td>
          <td class="paramname"><em>flags</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga346f563897249351a34549137c8532a0">Size</a> </td>
          <td class="paramname"><em>minSize</em> = <code><a class="el" href="../../dc/d84/group__core__basic.html#ga346f563897249351a34549137c8532a0">Size</a>()</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga346f563897249351a34549137c8532a0">Size</a> </td>
          <td class="paramname"><em>maxSize</em> = <code><a class="el" href="../../dc/d84/group__core__basic.html#ga346f563897249351a34549137c8532a0">Size</a>()</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool </td>
          <td class="paramname"><em>outputRejectLevels</em> = <code>false</code> </td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>objects</td><td>=</td><td>cv.CascadeClassifier.detectMultiScale(</td><td class="paramname">image[, scaleFactor[, minNeighbors[, flags[, minSize[, maxSize]]]]]</td><td>)</td></tr><tr><td style="width: 20px;"></td><td>objects, numDetections</td><td>=</td><td>cv.CascadeClassifier.detectMultiScale2(</td><td class="paramname">image[, scaleFactor[, minNeighbors[, flags[, minSize[, maxSize]]]]]</td><td>)</td></tr><tr><td style="width: 20px;"></td><td>objects, rejectLevels, levelWeights</td><td>=</td><td>cv.CascadeClassifier.detectMultiScale3(</td><td class="paramname">image[, scaleFactor[, minNeighbors[, flags[, minSize[, maxSize[, outputRejectLevels]]]]]]</td><td>)</td></tr></table>
</div><div class="memdoc">
<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. This function allows you to retrieve the final stage decision certainty of classification. For this, one needs to set <code>outputRejectLevels</code> on true and provide the <code>rejectLevels</code> and <code>levelWeights</code> parameter. For each resulting detection, <code>levelWeights</code> will then contain the certainty of classification at the final stage. This value can then be used to separate strong from weaker classifications.</p>
<p>A code sample on how to use it efficiently can be found below: </p><div class="fragment"><div class="line">Mat img;</div><div class="line">vector&lt;double&gt; weights;</div><div class="line">vector&lt;int&gt; levels;</div><div class="line">vector&lt;Rect&gt; detections;</div><div class="line"><a class="code" href="../../d1/de5/classcv_1_1CascadeClassifier.html#ab3e572643114c43b21074df48c565a27">CascadeClassifier</a> model(<span class="stringliteral">"/path/to/your/model.xml"</span>);</div><div class="line">model.detectMultiScale(img, detections, levels, weights, 1.1, 3, 0, <a class="code" href="../../dc/d84/group__core__basic.html#ga346f563897249351a34549137c8532a0">Size</a>(), <a class="code" href="../../dc/d84/group__core__basic.html#ga346f563897249351a34549137c8532a0">Size</a>(), <span class="keyword">true</span>);</div><div class="line">cerr &lt;&lt; <span class="stringliteral">"Detection "</span> &lt;&lt; detections[0] &lt;&lt; <span class="stringliteral">" with weight "</span> &lt;&lt; weights[0] &lt;&lt; endl;</div></div><!-- fragment --> 
</div>
</div>
<a id="a1753ebe58554fe0673ce46cb4e83f08a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1753ebe58554fe0673ce46cb4e83f08a">◆ </a></span>empty()</h2>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool cv::CascadeClassifier::empty </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>retval</td><td>=</td><td>cv.CascadeClassifier.empty(</td><td class="paramname"></td><td>)</td></tr></table>
</div><div class="memdoc">
<p>Checks whether the classifier has been loaded. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="../../d4/d26/samples_2cpp_2facedetect_8cpp-example.html#a47">samples/cpp/facedetect.cpp</a>.</dd>
</dl>
</div>
</div>
<a id="a0bab6de516c685ba879a4b1f1debdef1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0bab6de516c685ba879a4b1f1debdef1">◆ </a></span>getFeatureType()</h2>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int cv::CascadeClassifier::getFeatureType </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>retval</td><td>=</td><td>cv.CascadeClassifier.getFeatureType(</td><td class="paramname"></td><td>)</td></tr></table>
</div><div class="memdoc">
</div>
</div>
<a id="ac39ae98f8358d3ffc14d7477a7bdb116"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac39ae98f8358d3ffc14d7477a7bdb116">◆ </a></span>getMaskGenerator()</h2>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt;<a class="el" href="../../d6/dfb/classcv_1_1BaseCascadeClassifier_1_1MaskGenerator.html">BaseCascadeClassifier::MaskGenerator</a>&gt; cv::CascadeClassifier::getMaskGenerator </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
</div>
</div>
<a id="ac7cccf61596e217726c5da99da3a69bf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac7cccf61596e217726c5da99da3a69bf">◆ </a></span>getOldCascade()</h2>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* cv::CascadeClassifier::getOldCascade </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
</div>
</div>
<a id="a7a131d319ab42a444ff2bcbb433b7b41"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7a131d319ab42a444ff2bcbb433b7b41">◆ </a></span>getOriginalWindowSize()</h2>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../dc/d84/group__core__basic.html#ga346f563897249351a34549137c8532a0">Size</a> cv::CascadeClassifier::getOriginalWindowSize </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>retval</td><td>=</td><td>cv.CascadeClassifier.getOriginalWindowSize(</td><td class="paramname"></td><td>)</td></tr></table>
</div><div class="memdoc">
</div>
</div>
<a id="a556bdd8738ba96aac07628ec38ff46da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a556bdd8738ba96aac07628ec38ff46da">◆ </a></span>isOldFormatCascade()</h2>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool cv::CascadeClassifier::isOldFormatCascade </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>retval</td><td>=</td><td>cv.CascadeClassifier.isOldFormatCascade(</td><td class="paramname"></td><td>)</td></tr></table>
</div><div class="memdoc">
</div>
</div>
<a id="a1a5884c8cc749422f9eb77c2471958bc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1a5884c8cc749422f9eb77c2471958bc">◆ </a></span>load()</h2>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool cv::CascadeClassifier::load </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a> &amp; </td>
          <td class="paramname"><em>filename</em></td><td>)</td>
          <td></td>
        </tr>
      </table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>retval</td><td>=</td><td>cv.CascadeClassifier.load(</td><td class="paramname">filename</td><td>)</td></tr></table>
</div><div class="memdoc">
<p>Loads a classifier from a file. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">filename</td><td>Name of the file from which the classifier is loaded. The file may contain an old HAAR classifier trained by the haartraining application or a new cascade classifier trained by the traincascade application. </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="../../d4/d26/samples_2cpp_2facedetect_8cpp-example.html#a10">samples/cpp/facedetect.cpp</a>.</dd>
</dl>
</div>
</div>
<a id="a6e3f096b121259fd3bab1c2437e840c5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6e3f096b121259fd3bab1c2437e840c5">◆ </a></span>read()</h2>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool cv::CascadeClassifier::read </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../de/dd9/classcv_1_1FileNode.html">FileNode</a> &amp; </td>
          <td class="paramname"><em>node</em></td><td>)</td>
          <td></td>
        </tr>
      </table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>retval</td><td>=</td><td>cv.CascadeClassifier.read(</td><td class="paramname">node</td><td>)</td></tr></table>
</div><div class="memdoc">
<p>Reads a classifier from a <a class="el" href="../../da/d56/classcv_1_1FileStorage.html" title="XML/YAML/JSON file storage class that encapsulates all the information necessary for writing or readi...">FileStorage</a> node. </p>
<dl class="section note"><dt>Note</dt><dd>The file may contain a new cascade classifier (trained traincascade application) only. </dd></dl>
</div>
</div>
<a id="a7628a59eefb561ecd79ad9d02bd69073"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7628a59eefb561ecd79ad9d02bd69073">◆ </a></span>setMaskGenerator()</h2>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void cv::CascadeClassifier::setMaskGenerator </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt; <a class="el" href="../../d6/dfb/classcv_1_1BaseCascadeClassifier_1_1MaskGenerator.html">BaseCascadeClassifier::MaskGenerator</a> &gt; &amp; </td>
          <td class="paramname"><em>maskGenerator</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a028c1d86a8275c82b089510768f853bd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a028c1d86a8275c82b089510768f853bd">◆ </a></span>cc</h2>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt;<a class="el" href="../../da/dd5/classcv_1_1BaseCascadeClassifier.html">BaseCascadeClassifier</a>&gt; cv::CascadeClassifier::cc</td>
        </tr>
      </table>
</div><div class="memdoc">
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>opencv2/<a class="el" href="../../d8/da3/objdetect_8hpp.html">objdetect.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- HTML footer for doxygen 1.8.6-->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Fri Apr 2 2021 11:36:42 for OpenCV by  <a href="http://www.doxygen.org/index.html">
<img alt="doxygen" class="footer" src="../../doxygen.png"/>
</a> 1.8.13
</small></address>
<script type="text/javascript">
//<![CDATA[
addTutorialsButtons();
//]]>
</script>
</body>
</html>
